草庐IT

C++ ifstream 到 char *

全部标签

c++ - 何时使用 const char * 以及何时使用 const char []

我知道它们是不同的,我知道它们有何不同,并且我阅读了所有关于char*与char[]的问题但所有这些答案都无法说明何时应该使用它们。所以我的问题是:什么时候使用constchar*text="text";你什么时候使用constchartext[]="text";有什么指导方针或规则吗?举个例子,哪个更好:voidwithPointer(){constchar*sz="hello";std::cout(我知道std::string也是一种选择,但我特别想了解char指针/数组) 最佳答案 两者明显不同,首先:First创建一个指针。

c++ - 何时使用 const char * 以及何时使用 const char []

我知道它们是不同的,我知道它们有何不同,并且我阅读了所有关于char*与char[]的问题但所有这些答案都无法说明何时应该使用它们。所以我的问题是:什么时候使用constchar*text="text";你什么时候使用constchartext[]="text";有什么指导方针或规则吗?举个例子,哪个更好:voidwithPointer(){constchar*sz="hello";std::cout(我知道std::string也是一种选择,但我特别想了解char指针/数组) 最佳答案 两者明显不同,首先:First创建一个指针。

c++ - 错误 : invalid operands of types ‘const char [35]’ and ‘const char [2]’ to binary ‘operator+’

在我的文件顶部#defineAGE"42"稍后在文件中我多次使用ID,包括一些看起来像的行std::stringname="Obama";std::stringstr="Hello"+name+"youare"+AGE+"yearsold!";str+="Doyoufeel"+AGE+"yearsold?";我得到错误:"error:invalidoperandsoftypes‘constchar[35]’and‘constchar[2]’tobinary‘operator+’"在第3行。我做了一些研究,发现这是因为C++如何处理不同的字符串,并且能够通过将“AGE”更改为“strin

c++ - 错误 : invalid operands of types ‘const char [35]’ and ‘const char [2]’ to binary ‘operator+’

在我的文件顶部#defineAGE"42"稍后在文件中我多次使用ID,包括一些看起来像的行std::stringname="Obama";std::stringstr="Hello"+name+"youare"+AGE+"yearsold!";str+="Doyoufeel"+AGE+"yearsold?";我得到错误:"error:invalidoperandsoftypes‘constchar[35]’and‘constchar[2]’tobinary‘operator+’"在第3行。我做了一些研究,发现这是因为C++如何处理不同的字符串,并且能够通过将“AGE”更改为“strin

c++ - 将 CString 转换为 const char*

如何在我的UnicodeMFC应用程序中将CString转换为constchar*? 最佳答案 要将TCHARCString转换为ASCII,请使用CT2A宏-这也允许您将字符串转换为UTF8(或任何其他Windows代码页)://ConvertusingthelocalcodepageCStringstr(_T("Hello,world!"));CT2Aascii(str);TRACE(_T("ASCII:%S\n"),ascii.m_psz);//ConverttoUTF8CStringstr(_T("SomeUnicodego

c++ - 将 CString 转换为 const char*

如何在我的UnicodeMFC应用程序中将CString转换为constchar*? 最佳答案 要将TCHARCString转换为ASCII,请使用CT2A宏-这也允许您将字符串转换为UTF8(或任何其他Windows代码页)://ConvertusingthelocalcodepageCStringstr(_T("Hello,world!"));CT2Aascii(str);TRACE(_T("ASCII:%S\n"),ascii.m_psz);//ConverttoUTF8CStringstr(_T("SomeUnicodego

c++ - C/C++ 为什么对二进制数据使用 unsigned char?

真的有必要像在某些处理字符编码或二进制缓冲区的库中那样使用unsignedchar来保存二进制数据吗?为了理解我的问题,请查看下面的代码-charc[5],d[5];c[0]=0xF0;c[1]=0xA4;c[2]=0xAD;c[3]=0xA2;c[4]='\0';printf("%s\n",c);memcpy(d,c,5);printf("%s\n",d);printf's都正确输出?,其中f0a4ada2是Unicode代码点U+的编码24B62(?)十六进制。甚至memcpy也正确地复制了char所持有的位。有什么理由可以提倡使用unsignedchar而不是plainchar?

c++ - C/C++ 为什么对二进制数据使用 unsigned char?

真的有必要像在某些处理字符编码或二进制缓冲区的库中那样使用unsignedchar来保存二进制数据吗?为了理解我的问题,请查看下面的代码-charc[5],d[5];c[0]=0xF0;c[1]=0xA4;c[2]=0xAD;c[3]=0xA2;c[4]='\0';printf("%s\n",c);memcpy(d,c,5);printf("%s\n",d);printf's都正确输出?,其中f0a4ada2是Unicode代码点U+的编码24B62(?)十六进制。甚至memcpy也正确地复制了char所持有的位。有什么理由可以提倡使用unsignedchar而不是plainchar?

c++ - char a[] = ?string?; 有什么区别?和 char *p = ?string?;?

正如标题所说,有什么区别chara[]=?string?;andchar*p=?string?;这个问题是在面试时问我的。我什至不明白这个说法。chara[]=?string??运算符是什么?它是字符串的一部分还是有特定的含义? 最佳答案 ?似乎是一个错字,它在语义上无效。所以答案假设?是一个错字,并解释了面试官可能真正要问的问题。首先,两者明显不同:第一个创建一个指针。第二个创建一个数组。继续阅读以获得更详细的解释:数组版本:chara[]="string";创建一个足够大的数组来保存字符串文字“string”,包括它的NULL终

c++ - char a[] = ?string?; 有什么区别?和 char *p = ?string?;?

正如标题所说,有什么区别chara[]=?string?;andchar*p=?string?;这个问题是在面试时问我的。我什至不明白这个说法。chara[]=?string??运算符是什么?它是字符串的一部分还是有特定的含义? 最佳答案 ?似乎是一个错字,它在语义上无效。所以答案假设?是一个错字,并解释了面试官可能真正要问的问题。首先,两者明显不同:第一个创建一个指针。第二个创建一个数组。继续阅读以获得更详细的解释:数组版本:chara[]="string";创建一个足够大的数组来保存字符串文字“string”,包括它的NULL终